package com.houtai.dao;


import com.houtai.bean.TsJzAdmin;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface TsJzAdminDao {
    /**
     * @Purpose   根据管理员名称查找管理员
     * @param     user_name
     * @version   1.0
     * @author    李寻欢
     * @time      2017-07-09
     * @return    TsJzAdmin
     */
    TsJzAdmin findAdminByName(String user_name);
    /**
     * @Purpose   更新用户最后登录记录
     * @param     tsJzAdmin
     * @version   1.0
     * @author    李寻欢
     * @time      2017-07-28
     * @return    void
     */
    void updateAdminLogin(TsJzAdmin tsJzAdmin);

    /**
     * @Purpose  查询有效的管理员帐号数量
     * @version  1.0
     * @author   lizhun
     * @return   int
     */
    int findAllAdminSize(TsJzAdmin tsJzAdmin);

    /**
     * @Purpose  分页查询有效的管理员帐号
     * @version  1.0
     * @author   lizhun
     * @param    map
     * @return   List<TsJzAdmin>
     */
    List<TsJzAdmin> findAllAdminPage(Map<String, Object> map);
    /**
     * @Purpose  创建新的管理员帐号
     * @version  1.0
     * @author   lizhun
     * @param    tsJzAdmin
     * @return   void
     */
    void insertAdmin(TsJzAdmin tsJzAdmin);

    /**
     * @Purpose  修改管理员帐号信息
     * @version  1.0
     * @author   lizhun
     * @param    tsJzAdmin
     * @return   void
     */
    void updateAdmin(TsJzAdmin tsJzAdmin);

    /**
     * @Purpose  通过id查询管理员帐号信息
     * @version  1.0
     * @author   lizhun
     * @param    admin_id
     * @return   void
     */
    TsJzAdmin findAdminById(int admin_id);

    /**
     * @Purpose  修改管理员帐号的有效性
     * @version  1.0
     * @author   lizhun
     * @param    admin_id
     * @return   void
     */
    void updateAdminValid(int admin_id);
    /**
     * @Purpose  修改管理员帐号密码
     * @version  1.0
     * @author   lizhun
     * @param    tsJzAdmin
     * @return   void
     */
    void updateAdminPassword(TsJzAdmin tsJzAdmin);
    /**
     * @Purpose  根据权限id查找管理员
     * @version  1.0
     * @author   lizhun
     * @param    role_id
     * @return   List<TsJzAdmin>
     */
    List<TsJzAdmin> findAllAdminByRole(@Param(value = "role_id") int role_id);
}